package pe.gob.osce.sirenas.wd.jsf.bean;

import java.io.Serializable;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.component.UIComponent;
import javax.faces.component.html.HtmlInputText;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;
import javax.servlet.http.HttpSession;

import pe.gob.osce.sirenas.wd.util.UBaseManage;
import nl.captcha.Captcha;

@ManagedBean
@SessionScoped
public class CaptchaBean extends UBaseManage implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String respuesta="";

	public void validateCaptcha(FacesContext context, UIComponent componentToValidate, Object value)
			throws ValidatorException {
		HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
		Captcha secretcaptcha = (Captcha) session.getAttribute(Captcha.NAME);
		
		if (secretcaptcha.isCorrect(value.toString()))
			return;

		((HtmlInputText) componentToValidate).setSubmittedValue("");
		setMensajeroError("NO VALIDO", "Captcha does not match");
		throw new ValidatorException(new FacesMessage("Captcha does not match"));
	}
	
	
	public void validaSimpleCaptcha(){
		 Captcha captcha = (Captcha)obtenerObjetoContexto("simpleCaptcha");
		 
		 if(captcha.isCorrect(this.respuesta )){
			 this.respuesta="COrrecto";
		 }else{
			 this.respuesta="IncorrectCOrrecto";
		 }
		 String otros=captcha.getAnswer();
		System.out.println(this.respuesta);
	}


	public String getRespuesta() {
		return respuesta;
	}


	public void setRespuesta(String respuesta) {
		this.respuesta = respuesta;
	}
	
	
}
